﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using RTracker.Models.Common;


namespace RTracker.Models.Organization
{
    public class GOrganization
    {
        // members declaration
        private COrganization _oCOrganization;                              // to store object of COrganization
        private CStatus _oCStatus;                                          // to store object of CStatus
        private CPaging _oCPaging;
        private List<COrganization> _lstCOrganization;
        private int m_nId;                                                  // to store organization id in case of save to return it to view. Based upon that we will refresh grid.

        // Default Constructor
        public GOrganization()
        {
            _oCOrganization = new COrganization();
            _oCStatus = new CStatus();
            _oCPaging = new CPaging();
            _lstCOrganization = new List<COrganization>();
        }

        // parameterized constructor
        public GOrganization(COrganization oCOrganization, CStatus oCStatus, CPaging oCPaging, List<COrganization> lstCOrganization)
        {
            _oCOrganization = oCOrganization;
            _oCStatus = oCStatus;
            _oCPaging = oCPaging;
            _lstCOrganization = lstCOrganization;
        }

        #region  "Properties"

        /// <summary>
        /// Used to store object of COrganization
        /// </summary>
        public COrganization Organization
        {
            get { return _oCOrganization; }
            set { _oCOrganization = value; }
        }

     
        /// <summary>
        /// Used to store object of CStatus
        /// </summary>
        public CStatus Status
        {
            get { return _oCStatus; }
            set { _oCStatus = value; }
        }

        /// <summary>
        /// Used to store object of CPaging
        /// </summary>
        public CPaging Paging
        {
            get { return _oCPaging; }
            set { _oCPaging = value; }
        }


        /// <summary>
        /// Used to store organization id
        /// </summary>
        public int Id
        {
            get { return m_nId; }
            set { m_nId = value; }
        }


        public List<COrganization> LstCOrganization
        {
            get { return _lstCOrganization; }
            set { _lstCOrganization = value; }
        }
        #endregion
    }
}